1. Field of the Invention
The present invention relates to storage control devices and storage control methods, and more particularly to a storage control device and a storage control method that include a plurality of store buffers and store or fetch with respect to the plurality of store buffers.
2. Description of Related Art
A conventional processing unit includes a store buffer to temporarily maintain data that is to be written to cache memory or main memory. A store process can be completed by providing the store buffer, before a preparation of writing, the data to cache memory or main memory.
In the processing unit, when it is detected that store data is in the store buffer, which has not completed writing data to cache memory or main memory is subjected to a fetch for a following process, a retriever for retrieving data to be fetched from the store buffer retrieves the store data in the store buffer. Using the retriever, a fetch request can be completed before the store data is written in the cache memory or the main memory.
In the case described above, to check whether or not one store area indicated by one fetch request overlaps another store area indicated by another fetch request, the fetch request, a store request, an address, and a byte mark to be processed are checked.
Accordingly, if it is required to repeatedly execute a plurality of instructions in response to a request for improving a process performance of a device, a plurality of store requests or a plurality of fetch requests with respect to the same area at the same time occurs. In this state, when a store buffer is selected to fetch by an address and a byte mark, data in a different store buffer is required for each of the fetch requests in a case in which each of the fetch requests indicates the same area to fetch. Thus, it is difficult to accurately indicate the store buffer storing data to be fetched for each of the fetch requests occurring at the same time.
Accordingly, in a state in which there are a plurality of store requests and a plurality of fetch requests that operate on the same storage area, there is a problem in that in order to properly process a current fetch request, the current fetch request is required to wait until other preceding store requests are actually processed, that is, until only one preceding store request remains in the store buffer and it completes writing to cache memory or main memory.